package com.ryder.auth.domain.service;

import cn.dev33.satoken.stp.SaTokenInfo;
import com.ryder.auth.domain.entity.AuthUserBO;

/**
 * 描述: 用户信息表(AuthUser)表服务接口
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0 // 版本号，指明从哪个版本开始
 * 更新日期: 2025/02/17
 */
public interface AuthUserDomainService {
    /**
     * 注册用户
     *
     * @param authUserBO 用户信息BO
     */
    Boolean register(AuthUserBO authUserBO);

    /**
     * 更新用户信息
     *
     * @param authUserBO 用户信息BO
     */
    Boolean update(AuthUserBO authUserBO);

    /**
     * 删除用户信息
     *
     * @param authUserBO 用户信息BO
     */
    Boolean delete(AuthUserBO authUserBO);

    /**
     * 登录
     *
     * @param validCode 验证码
     * @return SaTokenInfo
     */
    SaTokenInfo doLogin(String validCode);

    /**
     * 获取用户信息
     *
     * @param authUserBO 用户信息BO
     * @return AuthUserBO 用户信息BO
     */
    AuthUserBO getUserInfo(AuthUserBO authUserBO);
}
